package board.controller;

import java.sql.SQLException;
import java.util.Map;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;

import board.model.service.BoardService;
import board.to.BoardTO;

@Controller
public class BoardController {
	private BoardService service;
	public BoardController(BoardService service){
		this.service = service;
	}
	//글등록 처리 컨트롤러
	@RequestMapping("/writeContent.do")
	public ModelAndView writeContent(BoardTO bto){
		ModelAndView mv = null;
		
		try {
			service.writeContent(bto);
			mv = new ModelAndView("redirect:getContent.do?no="+bto.getNo()); //정상적으로 끝났으면 모델객체 생성 처리결과를 보여주는 페이지로~
		} catch (SQLException e) {
			e.printStackTrace();
			mv = new ModelAndView("error.jsp","error_message",e.getMessage());
		}
		
		return mv;
	}

	//글목록 처리 컨트롤러
	//조회할 페이지값을 요청 파라미터로 받아 목록에 뿌려질 BoardTO들과 Paging 처리를 위한 PagingTO를 View로 보낸다. - ListTO
	public String list(@RequestParam(required=false, defaultValue="1")String page, Map map) throws Exception{
		
		String url = null;


		return url;
	}
	
//	 글번호로 글조회처리
	public ModelAndView getContent(int no){
		ModelAndView mv = null;

	
		return mv;
	}
	
	//수정폼에 뿌려줄 글 내용 조회처리 컨트롤러
	public ModelAndView modifyForm(int no){
		ModelAndView mv = null;
		
		return mv;
	}

//	글 수정 처리 
	public ModelAndView modifyContent(BoardTO bto) {
		ModelAndView mv = null;
		
		return mv;
	}

//	글번호를 받아 글 삭제 처리 컨트롤러
	public ModelAndView deleteContent(int no){
		ModelAndView mv = null;
		
		return mv;
	}

//	답변 폼 조회 처리 컨트롤러
	public ModelAndView replyForm(int no){
		ModelAndView mv = null;
		return mv;
	}
	
//	답변처리
	public ModelAndView replyContent(BoardTO bto, int page){
		ModelAndView mv = null;
		
		return mv;
	}
}
